dialogs - 对话框
dialogs - 对话框
dialogs模块用于显示弹框,一般用于提示用户关键信息、输入信息,完成简易的交互。
本模块提供了多种配置模式,能够以应用内弹窗或悬浮窗形式显示确认框、输入框、单选框、多选框等,也可以自定义弹出框显示的View。
可使用const dialogs = require('dialogs');导入dialogs模块。然后通过比如dialogs.showInputDialog("输入框标题", "输入框默认文本");的方式调用模块中的方法。
也可以直接导入要使用的函数,比如const { showInputDialog } = require('dialogs'); showInputDialog("输入框标题", "输入框默认文本");。
目录
接口
类型别名
变量
函数
- buildDialog
- setDefaultDialogType
- showAlertDialog
- showConfirmDialog
- showDialog
- showInputDialog
- showMultiChoiceDialog
- showSelectDialog
- showSingleChoiceDialog
类型别名
Dialog
Ƭ Dialog: android.app.Dialog & DialogExt
对话框类型,基于Android原生Dialog类拓展了一些方法和属性,参见DialogExt。
DialogType
Ƭ DialogType: "overlay" | "app"
弹出对话框的类型。
overlay: 可显示在其他应用上方,需要悬浮窗权限。app: 应用内对话框,仅可在应用内的当前界面(Activity)显示,不需要额外权限。
变量
defaultDialogType
• defaultDialogType: DialogType = 'app'
默认对话框类型,默认为app。可通过setDefaultDialogType函数修改。
参见
函数
buildDialog
▸ buildDialog(properties): Promise<Dialog>
创建一个对话框。可自定义对话框的标题、内容、进度条、输入框、按钮等。
参数
| 名称 | 类型 | 描述 |
|---|---|---|
properties | DialogProperties | 对话框的配置属性。参考 DialogProperties |
返回值
Promise<Dialog>
Dialog对象的Promise
setDefaultDialogType
▸ setDefaultDialogType(type): void
参见
参数
| 名称 | 类型 |
|---|---|
type | DialogType |
返回值
void
showAlertDialog
▸ showAlertDialog(title, properties?): Promise<void>
显示一个提示对话框。提示对话框包括标题、内容和一个确认按钮。
示例
"nodejs";
const { showAlertDialog } = require('dialogs');
async function alert() {
await showAlertDialog("This is an alert dialog.");
await showAlertDialog("Summary", { content: "Some description" });
}
alert();
参数
| 名称 | 类型 | 描述 |
|---|---|---|
title | string | 对话框的标题。 |
properties? | DialogProperties | 对话框的配置属性。参考 DialogProperties |
返回值
Promise<void>
可通过await等待弹出框消失。
showConfirmDialog
▸ showConfirmDialog(title, properties?): Promise<boolean>
显示一个确认对话框,包括一个确认按钮和一个取消按钮。
示例
"nodejs";
const dialogs = require('dialogs');
async function confirm() {
const sure = await dialogs.showConfirmDialog("Are you sure?");
console.log(sure); // true or false
console.log(await dialogs.showConfirmDialog("Are you sure?", { positive: "Yes", negative: "No" }));
}
confirm();
参数
| 名称 | 类型 | 描述 |
|---|---|---|
title | string | 确认对话框的标题。 |
properties? | DialogProperties | 对话框的额外配置属性。参考 DialogProperties |
返回值
Promise<boolean>
可通过await获取弹出框选择结果。
showDialog
▸ showDialog(properties): Promise<Dialog>
创建并显示一个对话框。类似于buildDialog构建对话框,但是构建后直接显示而无需调用show。
参数
| 名称 | 类型 | 描述 |
|---|---|---|
properties | DialogProperties | 对话框的配置属性。参考 DialogProperties |
返回值
Promise<Dialog>
对话框对象的Promise
showInputDialog
▸ showInputDialog(title, prefill?, properties?): Promise<string | null>
显示一个输入对话框。
示例
"nodejs";
const dialogs = require('dialogs');
async function inputDialog() {
const name = await dialogs.showInputDialog("Input your name", "Tony");
if (name != "") {
console.log(`hello, ${mName}`);
}
}
inputDialog();
参数
| 名称 | 类型 | 描述 |
|---|---|---|
title | string | 输入对话框的标题。 |
prefill? | string | 输入对话框的默认文本。 |
properties? | DialogProperties | 对话框的配置属性。参考 DialogProperties |
返回值
Promise<string | null>
可通过await获取弹出输入框的输入结果。若用户取消了输入,则返回null的Promise。
showMultiChoiceDialog
▸ showMultiChoiceDialog(title, items, initialSelectedIndices?, properties?): Promise<number[] | null>
显示一个多选对话框。多选对话框包括标题和一个多选列表,用户选择列表项并确定后会返回点击的结果。
参数
| 名称 | 类型 | 描述 |
|---|---|---|
title | string | 多选对话框的标题。 |
items | string[] | 多选框的选项。 |
initialSelectedIndices? | number[] | 默认选中的选项,比如[0, 2]表示选中第一项和第三项。 |
properties? | DialogProperties | 对话框的配置属性。参考 DialogProperties |
返回值
Promise<number[] | null>
选中选项的索引的数组Promise,若用户取消了选择,则返回空数组。索引从0开始。
showSelectDialog
▸ showSelectDialog(title, items, properties?): Promise<number>
显示一个选择对话框。选择对话框包括标题和一个选择列表,用户点击列表项后会返回点击的结果。
示例
"nodejs";
const { showSelectDialog } = require('dialogs');
async function select() {
const i = await showSelectDialog("Select an item", ["item1", "item2", "item3"]);
console.log(`selected item: ${i}`);
}
select();
参数
| 名称 | 类型 | 描述 |
|---|---|---|
title | string | 选择对话框的标题。 |
items | string[] | 选择框的选项。 |
properties? | DialogProperties | 对话框的配置属性。参考 DialogProperties |
返回值
Promise<number>
选择选项的索引的Promise,若用户取消了选择,则返回-1。索引从0开始。
showSingleChoiceDialog
▸ showSingleChoiceDialog(title, items, initialSelectedIndex?, properties?): Promise<number>
显示一个单选对话框。单选对话框包括标题和一个单选列表,用户点击列表项并确定后会返回点击的结果。
示例
"nodejs";
const { showSingleChoiceDialog } = require('dialogs');
async function singleChoice() {
const i = await showSingleChoiceDialog("Choose an item", ["item1", "item2", "item3"]);
console.log(`selected item: ${i}`);
}
singleChoice();
参数
| 名称 | 类型 | 描述 |
|---|---|---|
title | string | 单选对话框的标题。 |
items | string[] | 单选框的选项。 |
initialSelectedIndex? | number | 默认选中的items数组索引序。 |
properties? | DialogProperties | 对话框的配置属性。参考 DialogProperties |
返回值
Promise<number>
选择选项的索引的Promise,若用户取消了选择,则返回-1。索引从0开始。
